<?php

/**
 * Description of imaps
 *
 * @author rodrigo
 */
class imaps {

    private $codigo;
    private $casa;
    private $rua;
    private $bairro;
    private $cidade;
    private $estado;
    private $uf;
    private $pais;
    private $cep;
    private $lat;
    private $long;
    private $data;
    private $codusuario;
    private $codcliente;
    
    
    public function getCodusuario() {
        return $this->codusuario;
    }

    public function setCodusuario($codusuario) {
        $this->codusuario = $codusuario;
        return $this;
    }

    
    public function getCodigo() {
        return $this->codigo;
    }

    public function getCasa() {
        return $this->casa;
    }

    public function getRua() {
        return $this->rua;
    }

    public function getBairro() {
        return $this->bairro;
    }

    public function getCidade() {
        return $this->cidade;
    }

    public function getEstado() {
        return $this->estado;
    }

    public function getUf() {
        return $this->uf;
    }

    public function getPais() {
        return $this->pais;
    }

    public function getCep() {
        return $this->cep;
    }

    public function getLat() {
        return $this->lat;
    }

    public function getLong() {
        return $this->long;
    }

    public function getData() {
        return $this->data;
    }

    public function setCodigo($codigo) {
        $this->codigo = $codigo;
        return $this;
    }

    public function setCasa($casa) {
        $this->casa = $casa;
        return $this;
    }

    public function setRua($rua) {
        $this->rua = $rua;
        return $this;
    }

    public function setBairro($bairro) {
        $this->bairro = $bairro;
        return $this;
    }

    public function setCidade($cidade) {
        $this->cidade = $cidade;
        return $this;
    }

    public function setEstado($estado) {
        $this->estado = $estado;
        return $this;
    }

    public function setUf($uf) {
        $this->uf = $uf;
        return $this;
    }

    public function setPais($pais) {
        $this->pais = $pais;
        return $this;
    }

    public function setCep($cep) {
        $this->cep = $cep;
        return $this;
    }

    public function setLat($lat) {
        $this->lat = $lat;
        return $this;
    }

    public function setLong($long) {
        $this->long = $long;
        return $this;
    }

    public function setData($data) {
        $this->data = $data;
        return $this;
    }
    public function getCodcliente(){
        return $this->codcliente;
    }
    public function setCodcliente($codcliente){
        $this->codcliente = $codcliente;
        return $this;
    }

    function __construct($codigo = null, $casa = null, $rua = null, $bairro = null, $cidade = null, $estado = null, $uf = null, $pais = null, $cep = null, $lat = null, $long = null, $data = null,$codusuario=null,$codcliente=null) {
        if($codigo === null){
            $this->setAtributos(0,'','','','','','','','','','','','','');
        }else if( ($codigo !== null) && ($codusuario === null) ){
            $this->Carrega($codigo);
        }else{
            $this->setAtributos($codigo, $casa, $rua, $bairro, $cidade, $estado, $uf, $pais, $cep, $lat, $long, $data,$codusuario,$codcliente);
        }
    }
    
    public function setAtributos($codigo = null, $casa = null, $rua = null, $bairro = null, $cidade = null, $estado = null, $uf = null, $pais = null, $cep = null, $lat = null, $long = null, $data = null,$codusuario=null,$codcliente = null){
        $this->setCodigo($codigo)
            ->setCasa($casa)
            ->setRua($rua)
            ->setBairro($bairro)
            ->setCidade($cidade)
            ->setEstado($estado)
            ->setUf($uf)
            ->setPais($pais)
            ->setCep($cep)
            ->setLat($lat)
            ->setLong($long)
            ->setData($data)
            ->setCodusuario($codusuario)
            ->setCodcliente($codcliente);
    }
    
    public function Carrega($codigo){
        $conn = new DB_Config();
        $query = ("
            SELECT 
                codigo,
                casa,
                rua,
                bairro,
                cidade,
                estado,
                uf,
                pais,
                cep,
                latitude,
                longitude,
                data,
                codusuario,
                cod_cliente
            FROM 
                imaps
            WHERE
                codigo = '$codigo'
        ");
        list($codigo,$casa,$rua,$bairro,$cidade,$estado,$uf,$pais,$cep,$latitude,$longitude,$data,$codusuario,$codcliente) = $conn->Query($query)->FetchRow();
        $this->setAtributos($codigo,$casa,$rua,$bairro,$cidade,$estado,$uf,$pais,$cep,$latitude,$longitude,$data,$codusuario,$codcliente);
    }

    public function insere_chekin() {
        $conn = new DB_Config();
        $query = ("INSERT INTO imaps 
                SET
                    casa = '" . $this->casa . "',
                    rua = '" . $this->rua . "',
                    bairro = '" . $this->bairro . "',
                    cidade = '" . $this->cidade . "',
                    estado = '" . $this->estado . "',
                    uf = '" . $this->uf . "',
                    pais = '" . $this->pais . "',
                    cep = '" . $this->cep . "',
                    latitude = '" . $this->lat . "',
                    longitude = '" . $this->long . "',
                    data = '" . $this->data . "',
                    codusuario = '".$this->codusuario."',
                    cod_cliente = '".$this->codcliente."'    
                ");
        if ($conn->Query($query)) {
            
        } else {
            throw new Exception('erro ao fazer chekin');
        }
    }
    
    public static function Lista_usuario($extra = null) {
        $conn = new DB_Config();
        $lista = array();
        $query = ("SELECT codigo FROM imaps " . $extra);
        $resultado = $conn->Query($query);
        while ($dados = $resultado->FetchObject()) {
            $lista[] = new Usuarios($dados->codigo);
        }
        return $lista;
    }
    
    public static function lista_checkin($extra=null) {      
        $conn = new DB_Config();
        $query = ("SELECT imaps.codigo FROM imaps ".$extra);
        $resultado = $conn->Query($query);
        $lista = "";

        while ($dados = $resultado->FetchObject()) {
            $lista[] = new imaps($dados->codigo);
        }
        return $lista;
    }

}
